home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / lists / mint / l_1599 / 1273 < prev    next >
Encoding:
Internet Message Format  |  1994-08-27  |  1.6 KB

  1. From: bousch@topo.matups.fr (Thierry Bousch)
  2. Subject: Re: sending signals from xdd's
  3. Date: Wed, 20 Apr 1994 01:01:09 +0200 (MET DST)
  4. In-Reply-To: <9404181313.AA15886@hera.rbi.informatik.uni-frankfurt.de> from "Kay Roemer" at Apr 18, 94 03:13:28 pm
  5.  
  6. Hello Kai,
  7.  
  8. > Usually Unixes do this by
  9. > 1) sending this sockets owner a SIGURG signal and
  10. > 2) waking up any processes seleting for exceptional conditions
  11. >    on this socket.
  12. > The 1st would require a device driver to be able to send signals
  13. > to ANY process, even if the current process' effective UID is
  14. > not zero and different from the effective UID of the process that
  15. > should be signaled.
  16.  
  17. This is very analogous to a serial driver, which must send a SIGHUP signal to
  18. the process group controlled by this device.
  19.  
  20. > Currently the only possibility I see to do the 1st is to fork a
  21. > new process (much like minixfs and modm0dev do) that is used to
  22. > send signals.
  23.  
  24. It seems mandatory, indeed: if no process does I/O on the socket, the
  25. device driver functions will never be called, so you can't rely on these
  26. functions to post signals. Signals should be posted asynchronously, by
  27. another thread.
  28.  
  29. > Is there another way (without a different process) to signal
  30. > different processes from a device driver?
  31. > Perhaps (as Juergen suggested some time ago) post_sig() should be
  32. > made available for device drivers through struct kerinfo?
  33.  
  34. While it would be a Good Thing, it would not solve the problem indicated
  35. before, i.e. you still need another thread. But it would have the great
  36. advantage of allowing this thread to execute in kernel mode, so
  37. addroottimeout() would be usable...
  38.  
  39. Thierry.
  40.  
  41.